package com.yunshipei.base;

import org.json.JSONObject;

/**
 * 适用于接口JSON数据格式包含status，data，message的格式
 */
public class EnterBaseSubscriber extends BaseSubscriberAdapter<JSONObject> {

    @Override
    public void onError(String errorMessage) {
        onFailure(errorMessage);
    }

    @Override
    public void onNext(JSONObject jsonObject) {
        int status = jsonObject.optInt("status", 0);
        switch (status) {
            case 0:
                String message = jsonObject.optString("message", "未知服务器错误，请联系管理员");
                onFailure(message);
                break;
            case 1:
                JSONObject data = jsonObject.optJSONObject("data");
                onSuccess(data);
                break;
            default:
                onFailure("接口返回未知错误状态，请联系管理员");
                break;
        }
    }

    /**
     * 接口返回的状态为1，且data不为空
     *
     * @param data 接口data的JSONObject
     */
    public void onSuccess(JSONObject data) {

    }

    public void onFailure(String errorMessage) {

    }
}
